home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / ps689a14.arc / EXAMPLE.ASM < prev    next >
Assembly Source File  |  1986-11-02  |  3KB  |  66 lines

  1. ; To become familiar with the segment feature you
  2. ; should assemble this file with and without the
  3. ; single object module swicth enabled.
  4. ;
  5. ;   a48  -o example         ;three object module files
  6.                             ;     code.seg
  7.                             ;     memory.seg
  8.                             ;     rom2.seg
  9. ;
  10. ;   a48  example            ;one object module file example.obj
  11.  
  12.  
  13.  
  14.          jmp loop
  15.          .org  h'20         ;start assembly at location 20 hex.
  16.          .segment .memory   ;declare a new segmemt for ram memory
  17.                             ;allocation
  18.          .memory            ;select segment .memory as active(locaton counter)
  19.                             ;for the .code segment(created by the assembler) is
  20.                             ;saved for when we switch back.
  21.          .org  h'00         ;not really necessary as origin of 0 is assumed.
  22. regbank0:
  23. b0r0:    .rs   1            ;bank 0 register 0
  24. b0r1:    .rs   1            ;bank 0 register 1
  25. b0r2:    .rs   1            ;bank 0 register 2
  26. b0r3:    .rs   1            ;bank 0 register 3
  27. b0r4:    .rs   1            ;bank 0 register 4
  28. b0r5:    .rs   1            ;bank 0 register 5
  29. b0r6:    .rs   1            ;bank 0 register 6
  30. b0r7:    .rs   1            ;bank 0 register 7
  31.          .org 24
  32. regbank1:
  33. b1r0:    .rs   1            ;bank 1 register 0
  34. b1r1:    .rs   1            ;bank 1 register 1
  35. b1r2:    .rs   1            ;bank 1 register 2
  36. b1r3:    .rs   1            ;bank 1 register 3
  37. b1r4:    .rs   1            ;bank 1 register 4
  38. b1r5:    .rs   1            ;bank 1 register 5
  39. b1r6:    .rs   1            ;bank 1 register 6
  40. b1r7:    .rs   1            ;bank 1 register 7
  41.          .eject             ;lets start on a fresh page of paper.
  42.          .code              ;switch back to code segment
  43.                             ; origin is where we left off.
  44. loop:    mov a,#h'22
  45.          mov r0,#h'11
  46.          add a,r0
  47.          jmp loop2          ;jump off page.
  48.          .equ cr,13         ;equated idienifiers are constant.
  49.          .equ tab,9
  50.          .set temp,23       ;set identifiers may be re-set.
  51.          .set temp,24
  52.          .set temp,25
  53.          .db  1,2,3,4,5,'p'
  54.          .db  6,7,"this is a test\r\n\0"
  55.          .dw  1,h'1234
  56.          .drw 1,h'1234
  57.          .page              ;start on a new 256 byte boundary.
  58. loop2:   jmp loop
  59.          .segment .rom2
  60.          .rom2
  61.          .org h'800
  62.          .db  "this is possibly an external rom programmed seperately."
  63.          .code
  64.          .end loop          ;end of assembly, specifying start address.
  65.  
  66.